Method and device for activation of components

ABSTRACT

A method and electronic device for activating components based on predicted device activity. The method and device include maintaining a set of device activity information storing data collected from components in the device. The device activity information may be maintained over a predetermined time period and may include times associated with the collected component data. The device activity information may include data regarding scheduled events. Device activity and the appropriate activation state of a component on the device may be predicted based on the current time, current data collected from components in the device and data in the device activity information.

TECHNICAL FIELD

The present disclosure relates to a method, device and computer programproduct for managing the activation of components in an electronicdevice. The disclosure relates to electronic devices including but notlimited to portable electronic devices having components for providingfunctions on the electronic device.

BACKGROUND

Electronic devices, including portable electronic devices, have gainedwidespread use and may include components for providing a variety offunctions including, for example, telephonic, electronic messaging andother data manager (PDM) application functions, cellular, wireless802.11 or Bluetooth™ capabilities, user interface and display functions.Components also may include sensors in the device which provide dataabout the environment, location or activity, of the device or acombination thereof. Electronic devices include, for example, severaltypes of mobile stations such as simple cellular telephones, smarttelephones, wireless personal digital assistants (PDAs) and laptopcomputers.

Components may be comprised of a dedicated or shared piece of hardwareor circuitry within the electronic, a computer software program executedby the electronic device or a combination of hardware and software.Components may include, for example, a touchscreen display; ambientlight sensors; temperature sensors; tilt sensors; accelerometers;altimeters; capacitive touch sensors; cameras; pedometers; force sensorsto measure force on a display or input of the device; magnetometers toprovide a compass heading and gyroscopes to measure angular velocity.Components also may include subsystems or modules in the deviceincluding, for example, global positioning systems (GPS) subsystems;cellular communications subsystems which, for example, may provide acell area location of the device in a cellular network; Internetprotocol (IP) communications subsystems; short range communicationssubsystems; or near field communications (NFC) subsystems.

Power for electronic devices typically is provided by a device batteryor a rechargeable power supply and thus is limited. Depending on thenumber and types of components in an electronic device, powerconsumption by components may be significant. Power consumption may bemanaged or limited by managing the activation of components. However,keeping components in a disabled or lower power state may disrupt theoperation of the device and may cause delay in the performance of devicefunctions. The delay may be noticeable to the user as components arechanged from a disabled or low-power state to an enabled or higher powerstate.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating an electronic device inaccordance with one implementation of the present disclosure

FIG. 2 is a graphical representation of a front view of an example of anelectronic device;

FIG. 3 is a block diagram illustrating an electronic device inaccordance with one implementation of the present disclosure;

FIG. 4 illustrates a flowchart of a method described in the presentapplication; and

FIG. 5 is a diagram illustrating a set of device activity information inaccordance with one implementation of the present disclosure.

Like reference numerals are used in the drawings to denote like elementsand features.

DETAILED DESCRIPTION OF EXAMPLE IMPLEMENTATIONS

The present disclosure provides a method and device for activatingcomponents based on predicted device activity. The method and deviceinclude maintaining a set of device activity information storing datacollected from components in the device. The set of device activityinformation may be maintained over a predetermined time period and mayinclude times associated with the collected component data. The set ofdevice activity information also may include data regarding scheduledevents. Device activity and the appropriate activation state of acomponent in the device may be predicted based on the current time,current data collected from components in the device and data in the setof device activity information.

According to one example implementation there is provided a method ofgenerating predicted activation states of components in an electronicdevice, comprising: maintaining a set of device activity information ina memory, the set of device activity information including records ofcomponent data from one or more components in the electronic device atassociated times; determining a current time; collecting currentcomponent data from the one or more components, the current componentdata being associated with the current time; predicting device activitybased on the current component data and the device activity informationrecord; and in response to the predicted device activity, generating apredicted activation state of at least one component in the electronicdevice.

According to another example implementation there is provided anelectronic device comprising: a controller for controlling operation ofthe electronic device; a clock; a memory connected to the controller,for storing a set of device activity information, the set of deviceactivity information including records of component data from one ormore components in an electronic device at associated times; and thecontroller being configured to: maintain the set of device activityinformation; determine a current time from the clock; collect currentcomponent data from the one or more components, the current componentdata being associated with the current time; predict device activitybased on the current component data and the device activity informationrecords; and in response to the predicted device activity, generate apredicted activation state of at least one component in the electronicdevice.

According to another example implementation of the present disclosure,there is provided a computer-readable storage medium in an electronicdevice having one or more components, the medium having stored thereoncomputer-readable and computer-executable instructions, which, whenexecuted by a processor, cause the electronic device to perform actionscomprising: maintaining a set of device activity information in a memoryof the device, the set of device activity information including recordsof component data from one or more components in an electronic device atassociated times; determining a current time; collecting currentcomponent data from the one or more components, the current componentdata being associated with the current time; predicting device activitybased on the current component data and the device activity informationrecord; and in response to the predicted device activity, generating apredicted activation state of at least one component in the electronicdevice.

Example implementations described below refer to an electronic devicesuch as a cellular telephone or smartphone. It will be appreciated thatthe present disclosure is not limited to mobile devices and in someimplementations may comprise a wired telephone device, or a personalcomputer or notebook.

FIG. 1 illustrates an electronic device 10 in which exampleimplementations described in the present disclosure can be applied.Depending on the functionality provided by the electronic device 10, invarious implementations, the device may be a multiple-modecommunications device configured for both data and voice communication,a mobile communications device, a smartphone, a mobile telephone or aPDA (personal digital assistant) enabled for wireless communication. Theelectronic device 10 includes a controller 12 such as a microprocessor,which controls the overall operation of the electronic device 10. Thecontroller 12 interacts with device components 20 including but notlimited to subsystems and modules such as the device activity module 14,a clock 16, a memory 18 and one or more additional components 20.

Components 20 are comprised of a dedicated or shared piece of hardwareor circuitry within the electronic device 10, a computer softwareprogram executed by the electronic device 10 or a combination ofhardware and computer software. Components 20 may include subsystems,modules and sensors in the electronic device 10. A component 20 also maybe comprised of a number of other components 20.

Data obtained from or about the components 20 may be stored in a set ofdevice activity information, such as the set of device activityinformation 22 stored in the memory 18 of the device 10. The set ofdevice activity information includes records of component data from oneor more components 20 in the electronic device 10 at associated times.

The controller 12 is configured to maintain the set of device activityinformation, determine a current time from the clock 16 and collectcurrent component data from the one or more components 20, the currentcomponent data being associated with the current time. The controller 12is configured to predict device activity based on the current componentdata and the device activity information record; and in response to thepredicted device activity, generate a predicted activation state of atleast one component 20 in the electronic device 10.

FIGS. 2 and 3 illustrate one implementation of an electronic device 100in which example implementations described in the present disclosure canbe applied. The electronic device 100 shown in FIG. 2 is an exemplaryembodiment of the electronic device 10 described with reference toFIG. 1. A graphical representation of a front view of an example of anelectronic device 100 is illustrated in FIG. 2. Depending on thefunctionality provided by the electronic device 100, in variousimplementations the device may be a multiple-mode communications deviceconfigured for both data and voice communication, a smartphone, a mobiletelephone or a PDA (personal digital assistant) enabled for voicecommunication.

The electronic device 100 includes components 20 such as a displayscreen 110, an alphanumeric keyboard or keypad 120; optionally one ormore non-keyboard inputs, such as buttons 121-128 which may benavigational, function, exit or escape keys which may be inwardlydepressed to provide further input function; or a rotatable input devicesuch as a trackball 130 or scrollwheel or trackwheel (not shown). Insome implementations, the keys in the keyboard 220 may not be actualphysical keys but may be virtual keys displayed on a touch-sensitivearea (not shown) within the display screen 110.

The electronic device 100 includes components 20 such as a speaker 132,a microphone 134, a visible indicator 136, an ambient light sensor 140and a plurality of user selectable icons shown on the display screen110. The icons are each associated with functions that can be performedby the electronic device 100. For example, FIG. 2 shows a “Phone” icon160 for accessing telephone functionality (associated with voice module282), an “Address Book” icon 162 for accessing address book functions(associated with address book module), a “Calendar” icon 164 foraccessing calendar functions (associated with a calendar module 285) andan options icon 166 (associated with an options module, which may be aseparate module or executed by one or more existing modules). An icon isshown highlighted or focused by a caret or selection symbol (not shown)which can be navigated by a device user among the displayed iconsthrough manipulation of the trackball 130 (or other navigational inputdevice). The trackball 130 is also depressible, such that depression ofthe trackball 130 when an icon is highlighted or focused by selectionsymbol 160 results in the launch of functions of the associated module.

Referring to FIG. 3, the electronic device 100 includes a controllercomprising at least one processor 200 such as a microprocessor whichcontrols the overall operation of the electronic device 100. Themicroprocessor 200 interacts with components 20 including communicationssubsystems shown generally at 210 and with further device components 20such as: display 110; one or more auxiliary input/output (I/O)subsystems or devices 220; a serial port 222 such as a Universal SerialBus (USB) data port; a speaker 132; a microphone 134; keyboard or keypad120; a switch 224; a removable memory card 230 and interface 232; flashmemory 233; random access memory (RAM) 236; read only memory (ROM) 238;and other device subsystems generally designated as 240. Some of thesubsystems shown in FIG. 3 perform communication-related functions,whereas other subsystems may provide “resident” or on-device functions.

The particular design of the communications subsystems 210 depends onthe network(s) in which the electronic device 100 is intended tooperate. For example, the communication subsystem 250 of the electronicdevice 100 may be designed to operate with the Mobitex™, DataTAC™ orGeneral Packet Radio Service (GPRS) mobile data communication networksand also designed to operate with any of a variety of voicecommunication networks, such as Advanced Mobile Phone Service (AMPS),Time Division Multiple Access (TDMA), Code Division Multiple Access(CDMA), Personal Communications Service (PCS), Global System for MobileCommunications (GSM), Enhanced Data rates for GSM Evolution (EDGE),Universal Mobile Telecommunications System (UMTS), Wideband CodeDivision Multiple Access (W-CDMA), High Speed Packet Access (HSPA), etc.Other types of data and voice networks, both separate and integrated,may also be utilized with the electronic device 100.

The electronic device 100 may include a cellular communicationssubsystem 250 including a receiver, a transmitter, and associatedcomponents 20 such as one or more antenna elements, and a processingmodule such as a digital signal processor (DSP) for exchanging signalswith a wireless network 252 through a base station 253. The electronicdevice 100 may send and receive communication signals over the wirelessnetwork 252 after network registration or activation procedures havebeen completed. The wireless network 252 may comprise a public landmobile network (PLMN). The electronic device 100 may be capable of bothwireless voice and data communications via the wireless network 252.

The electronic device 100 may include an internet protocol (IP)communications subsystem 260 for communication with an IP network 262such as a wireless local area network (WLAN) through a wireless accesspoint 264. The wireless access point 264 may be configured in accordancewith one of the IEEE 802.11 specifications. The electronic device 100may be equipped with a suitable antenna, RF transceiver, and softwarefor accessing and using the WLAN connectivity of the wireless accesspoint 264.

The electronic device 100 may include a short-range communicationsubsystem 254 for communication between the electronic device 100 anddifferent systems or devices, which need not necessarily be similardevices. For example, the subsystem 254 may include an infrared deviceand associated circuits, or a wireless bus protocol compliantcommunication mechanism such as a Bluetooth® communication module toprovide for communication with similarly-enabled systems and devices,such as a smart card reader (not shown).

The electronic device 100 may include a near field communications (NFC)subsystem 268 for communications between the electronic device 100 andanother NFC-enabled device, which need not necessarily be a similardevice. The “Near Field Communications Interface and Protocol” or“NFCIP-1” or “the NFC protocol”, is a short-range, high frequencycommunication protocol that allows for communication between anInitiator device and a Target device when the Initiator device and theTarget device are brought close together. The NFC protocol operateswithin the globally available and unregulated radio frequency band of13.56 MHz and has a working distance of up to 20 centimetres. Three datarates are available: 106 kilobits per second (kbit/s); 212 kbit/s; and424 kbit/s.

Two communication modes of NFC are currently available: a Passivecommunication mode; and an Active communication mode. In the Passivecommunication mode, the Initiator device provides an electro-magneticcarrier field and the Target device answers the Initiator device bymodulating the carrier field. In the Passive communication mode, onlythe Initiator device is required to have a power supply; the Targetdevice may draw operating power from the carrier field provided by theInitiator device. In the Active communication mode, both the Initiatordevice and the Target device generate their own electro-magnetic field.The Initiator device starts the NFC communication. The Target deviceresponds to a command received from the Initiator device in the Activecommunication mode by modulating the electro-magnetic field generated bythe Target device. Typically, in the Active communication mode, bothdevices need to have a power supply. In the Active communication mode,both devices can act as either an Initiator or as a Target whereas inthe Passive communication mode, the device without the ability to createan electro-magnetic carrier field cannot be an Initiator device. Theelectronic device 100 may act as an Initiator or as a Target device.

The electronic device 100 may support various NFC operation modesthrough the NFC subsystem 268 and the NFC module 288, including cardemulation mode, peer to peer mode and reader/writer mode. For example,in card emulation mode, the electronic device 100 may function as asecurity device which is authenticated via NEC communications with areader controlling access, for example, to a room or building. Accesscontrol applications typically are implemented in a “vicinity coupled”NFC mode having a range of up to one metre. In card emulation mode, theelectronic device 100 also may support financial transactions betweenthe electronic device 100 and a point of sale device enabled for NFCcommunications. Financial transactions typically are implemented in a“proximity coupled” NFC mode having a range of less than 10 centimetres.In peer to peer mode, the electronic device 100 may exchange data, suchas contact data or an electronic business card with another NFC enableddevice. In reader/writer mode the electronic device 100 may act like acontactless card reader in which the electronic device 100 may read atag associated with a sign or poster, in order to obtain data about anevent or location advertised by the sign.

The electronic device 100 may include a global positioning system (GPS)subsystem 266 which may provide mapping or location positioningcapability. While the American Global Positioning System (GPS) isreferenced, methods and apparatus described in this disclosure mayequally be used in conjunction with other types of global or regionalnavigation satellite systems, including but not limited to the EuropeanGalileo, Russian GLONASS and Chinese Beidou Compass systems.

The electronic device 100 also includes a battery 272 as a power source,which is typically one or more rechargeable batteries that may becharged, for example, through charging circuitry coupled to a batteryinterface such as the serial data port 222. The battery 272 provideselectrical power to at least some of the electrical circuitry in theelectronic device 100 including sensors 223 and subsystems in theelectronic device 100. The battery interface 274 provides a mechanicaland electrical connection for the battery 272. The battery interface 274is coupled to a regulator (not shown) which provides power V+ to thecircuitry of the electronic device 100.

The processor 200 operates under stored program control and executessoftware modules 280 stored in memory such as persistent memory, forexample, in the flash memory 233. The software modules 280 compriseoperating system software 281 and may include a range of applicationmodules, including, a voice communication module 282, a user interfacemodule 283, a data manager module 284, a calendar module 285, an eventsscheduler 286, a clock module 287, a near field communications (NFC)module 288, a map module 289, a device activity module 290 and amessaging module 291. The software modules may include an address bookmodule, an email module, a web browser module, a notepad module, a pushcontent viewing module, and a media player module (not shown). Thesoftware modules 280 may among other things, each be implemented throughstand-alone software modules, or combined together in one or more of theoperating system 281 or one or more of the other software modules 280.In some implementations, the functions performed by each of the aboveidentified modules may be realized as a plurality of independentelements, rather than a single integrated element, and any one or moreof these elements may be implemented as parts of other software modules.

The user interface (UI) module 283 renders and displays a graphical userinterface (GUI) on a display 110 of the electronic device 100 inaccordance with instructions of the operating system 281 and modules 280(as applicable). The GUI allows interaction with and control over theoperation of the electronic device 100. The GUI may be displayed on thedisplay 110 which may be a touchscreen display. The GUI is renderedprior to display by the operating system 281 or a software module 280which causes the processor 200 to display content on the display 110.

The calendar module 285 or the events scheduler 286, or both thecalendar module 285 or the events scheduler 286 facilitate a userentering or scheduling events and setting reminders in relation tocalendar events. A database, such as stored event records 235, adaptedto store event data corresponding to entered event details can bemaintained on the flash memory 233, the RAM 236 or some other computerreadable medium such as a remotely located magnetic/optical-based diskdrive, for example. The stored event records 235 may comprise a separatedatabase or may be included as part of a set of device activityinformation 234 as described below. The calendar module 285 is able toadd, alter and delete event data in this database by way of actionqueries, for example.

The event scheduler 286 permits a user of the electronic device 100 toset up or schedule a future event or event request with other usershaving communication devices. The event scheduler 286 may be implementedas part of an electronic messaging application, such as the messagingmodule 291 or as part of a general event scheduling module, such as thecalendar module 285. Alternatively, the event scheduler 286 may beimplemented as an independent application that communicates with anelectronic messaging module 291 or a general event scheduling module orwith both an electronic messaging module 291 and a general eventscheduling module. The messaging module 291 enables the electronicdevice 100 to send and receive messages, such as email messages, over acommunication network, through the communication subsystem 210.

The use of calendar modules 285 and messaging modules 291 on PDA-typedevices and personal computers to schedule appointments, meetings andthe like is common place. The term “message” is used to designate anytype of electronic message such as an email (which may include a threadof emails), text or SMS message, instant message, etc. The term “event”is used to designate any type of event, such as an appointment, ameeting, a conference call, a scheduled task, etc.

The software modules 280 or parts thereof may be temporarily loaded intovolatile memory such as the RAM 236. The RAM 236 is used for storingruntime data variables and other types of data, as will be apparent tothose skilled in the art. Although specific functions are described forvarious types of memory, this is merely an example, and those skilled inthe art will appreciate that a different assignment of functions totypes of memory could also be used.

In some implementations, the auxiliary input/output (I/O) subsystems 220may comprise an external communication link or interface, for example,an Ethernet connection. The electronic device 100 may comprise otherwireless communication interfaces for communicating with other types ofwireless networks, for example, a wireless network such as an orthogonalfrequency division multiplexed (OFDM) network or a GPS transceiver forcommunicating with a GPS satellite network (not shown). The auxiliaryI/O subsystems 220 may comprise a vibrator for providing vibratorynotifications in response to various events on the electronic device 100such as receipt of an electronic communication or incoming phone call,or for other purposes such as haptic feedback (touch feedback).

In some implementations, the electronic device 100 also includes aremovable memory card 230 (typically comprising flash memory) and amemory card interface 232. Network access typically is associated with asubscriber or user of the electronic device 100 via the memory card 230,which may be a Subscriber Identity Module (SIM) card for use in a GSMnetwork or other type of memory card for use in the relevant wirelessnetwork type. The memory card 230 is inserted in or connected to thememory card interface 232 of the electronic device 100 in order tooperate in conjunction with the wireless network 252.

The electronic device 100 stores data in an erasable persistent memory,which in one example implementation is the flash memory 233. In variousimplementations, the data includes service data comprising data used bythe electronic device 100 to establish and maintain communication withthe wireless network 252. The data may also include user applicationdata such as one or more sets of device activity information 234 andevent records 235 as well as email messages, address book and contactdata, calendar data, notepad documents, image files, and other commonlystored user data stored on the electronic device 100 by its user, andother data. The data stored in the persistent memory (e.g. flash memory233) of the electronic device 100 may be organized, at least partially,into a number of databases each containing data items of the same datatype or associated with the same application. For example, sets ofdevice activity information 234, email messages, contact records, andtask items may be stored in individual databases within the devicememory. Content protection measures may be applied to one or more dataitems or databases within the device memory.

The serial data port 222 may be used for synchronization with a user'shost computer system (not shown). The serial data port 222 enables auser to set preferences through an external device or software moduleand extends the capabilities of the electronic device 100 by providingfor data or software downloads to the electronic device 100 other thanthrough the wireless network 252. The alternate download path may, forexample, be used to load an encryption key onto the electronic device100 through a direct, reliable and trusted connection to thereby providesecure device communication.

A predetermined set of applications that control basic deviceoperations, including data and voice communication applications normallywill be installed on the electronic device 100 during or aftermanufacture. Additional applications, upgrades to the operating system281 or software modules 280 may also be loaded onto the electronicdevice 100 through the wireless network 252, the auxiliary I/O subsystem220, the serial port 222, the short-range communication subsystem 270,or other suitable subsystems or other wireless communication interfaces.The downloaded programs or code modules may be permanently installed,for example, written into the program memory (i.e. the flash memory233), or written into and executed from the RAM 236 for execution by theprocessor 200 at runtime. Such flexibility in application installationincreases the functionality of the electronic device 100 and may provideenhanced on-device functions, communication-related functions, or both.

The electronic device 100 may include a personal data manager (PDM)module 284 having the ability to organize and manage data items relatingto a user such as, but not limited to, instant messaging, email,calendar events, voice mails, appointments and task items. The PDMmodule 284 has the ability to send and receive data items via thewireless network 252. In some example implementations, PDM data itemsare seamlessly combined, synchronized, and updated via the wirelessnetwork 252, with the user's corresponding data items stored orassociated with the user's host computer system, or both, therebycreating a mirrored host computer with respect to these data items.

The electronic device 100 may provide two principal modes ofcommunication: a data communication mode and a voice communication mode.In the data communication mode, a received data signal such as a textmessage, an email message, or web page download will be processed by thecommunication subsystem 250, 260 and input to the processor 200 forfurther processing and output on the display 110 or alternatively to anauxiliary I/O device 220. A user of the electronic device 100 also maycompose data items, such as email messages and calendar entries, forexample, using the keyboard 220 in conjunction with the display 110 andpossibly the control buttons 221-228 or the auxiliary I/O subsystems220. These composed items may be transmitted through the communicationsubsystems 250 and 260 over the respective wireless networks 212 and213.

In the voice communication mode, the electronic device 100 providestelephony functions and operates as a typical cellular phone or as aVoIP phone. Received signals are output to the speaker 132 and signalsfor transmission would be generated by a transducer such as themicrophone 134. The telephony functions are provided by a combination ofsoftware/firmware (i.e., the voice communication module 282) andhardware (i.e., the microphone 134, the speaker 132 and input devices).Alternative voice or audio I/O subsystems, such as a voice messagerecording subsystem, also may be implemented on the electronic device100. Although voice or audio signal output is typically accomplishedprimarily through the speaker 132, the display 110 may also be used toprovide an indication of the identity of a calling party, duration of avoice call, or other voice call related data.

Components 20 in the electronic device 100 include but are not limitedto a number of sensors shown generally at 223 which provide data aboutthe environment, location or activity, or a combination thereof, of theelectronic device 100. Exemplary sensors may include but are not limitedto one or more of an ambient light sensor 140; a temperature sensor orthermometer to provide a measurement of the environment of theelectronic device 100; a tilt sensor configured to provide an indicationof the current tilt angle of the electronic device 100; anaccelerometer; an altimeter or pressure sensor to provide an indicationof barometric pressure of the environment of the electronic device 100which may be used by weather related modules in the electronic device100 or to provide altitude resolution to assist the GPS subsystem 266 orto assist with navigation modules; a capacitive touch sensor; apedometer; a force sensor to measure force on a display or input of theelectronic device 100; a magnetometer to provide a compass heading; anda gyroscope to provide a measurement of the angular velocity of theelectronic device 100. Sensors may include subsystems which also providedata about the environment, location or activity, or a combinationthereof, of the electronic device 100, such as the GPS subsystem 266,the cellular communications subsystem 250, the IP communicationssubsystem 260, the short range communications subsystem 254 and the NFCsubsystem 268.

Each component 20 in the electronic device 10 or 100 may have one ormore activation states determined and set by the electronic device 10 or100 to support functions being performed by the electronic device 10 or100 or according to input received from a user of the electronic device10 or 100. In the one or more activation states, the functions and dataor quality of data provided by the component 20 and the power used bythe component 20 vary. In one implementation, in an enabled activationstate, the component 20 is activated and fully operational, requiring asignificant power supply. In an idle activation state, the component 20is operable, but with limited functions and at a lower power level. In astandby, sleep activation state, the component 20 is not operational andis at a minimal power level, but may be quickly enabled and functionalwhen transitioned out of the standby activation state to the idle orenabled activation state. The component 20 also may be in a disabledactivation state and thus drawing no power if its functions or the dataprovided by the component 20 are not in use by the electronic device 10or 100. Power also may be used by the component 20 in changingactivation states. It will be understood that the types and numbers ofactivation states for the component 20, the functions performed and dataprovided by the component 20 in a particular activation state, and thepower required in each activation state vary depending on the component20. For example, a component 20 may be in an activation state in whichthe component 20 is fully enabled but power cycled and operating at areduced power, such as an accelerometer operating at a lower samplingrate. A component 20 may be in an activation state in which lower poweris required and in which only limited communication functions may beperformed by the component 20.

Additionally, components 20 may operate according to one or moreattribute settings which may be stored in the electronic device 10 or100 or determined and generated by the electronic device 10 or 100.Alternatively, or additionally, the electronic device 10 or 100 mayprompt a user to enter or select an attribute setting depending on thedata or functions requested from the component 20. Examples of componentattributes include but are not limited to a sampling rate of theaccelerometer, such as high, medium or low (or 3.2 KHz, 1.5 KHz, 100 Hz)or the range of the accelerometer such as +/−2g, 4g, 8g or 16g; an RFprotocol type for the NFC communications subsystem 268; a temperaturescale or precision of the thermometer; or an update rate of the GPSsubsystem 266 such as 1 second, 8 seconds etc.

The activation states and attribute settings of components 20 arechanged according to requirements of the electronic device 10 or 100 andfunctions being performed by the electronic device 10 or 100. Activationstates and attribute settings also may be changed based on input from auser received at the electronic device 100 through a user interface suchas the display 110, keypad 120 or microphone 134. For example, a usermay activate a temperature sensor in the electronic device 100 when theuser exits a building in order to measure an outside temperature. A usermay activate the GPS subsystem 266 in order to determine a currentlocation and to use the map module 289 for navigation. A user mayactivate the IP communications subsystem 260 when arriving at the user'shome in order to access a home network access point 264.

Each component 20 also may include an operational status which indicatesthe status of the component 20. The operational status may indicate anumber of different states or conditions of the component 20, includingthe status of the component 20 as a change in the activation state,changes in attribute settings or a combination of a change in activationstates and changes in attribute settings are implemented. Theoperational status may correspond to the activation state set by theelectronic device 10 or 100 or according to input received from a user.Alternatively, the operational status may, for example, indicate acomponent 20 is in a disabled state and is unable to operate despite arequest to set the activation state to an enabled activation state. Theoperational status of the component 20 may provide additional dataregarding the operation of the component 20 and the environment,location or activity, or a combination thereof, of the electronic device10 or 100.

Latency exists between changes in activation states and between thesetting of an activation state and the component 20 having anoperational status corresponding to the activation state. Latency existsin particular if a component 20 is changed from a disabled activationstate to an enabled activation state. Latency also may arise in theoperation of a component 20 due to changes in attribute settings for thecomponent. Changes in attribute settings for the components 20 may occurat the same time as a change in activation state or independently from achange in activation state. In one implementation, changes in attributesettings are not determined by the electronic device 10 or 100 until thecomponent 20 is enabled. Alternatively, changes in attribute settingsmay occur in response to input received from a user through a userinterface such as the display 110, keypad 120 or microphone 134. Thelatency resulting from changes in activation states, changes inattribute settings or a combination of changes in activation states andchanges in attribute settings may or may not be noticeable to a user ofthe electronic device 10 or 100.

In some implementations, in order to manage power consumption in theelectronic device 10 or 100, data from components 20, includingactivation states and operational status, is collected and analyzed toestablish one or more patterns of device activity. Based on the patternsof device activity, the activation states of components 20 are predictedand are set automatically in anticipation of the predicted activity ofthe electronic device 10 or 100. In some implementations, the predicteddevice activity is based on data for events scheduled to occur at futuretime and date, such as event data in the set of device activityinformation 234 or event data from the stored event records 235 or eventdata from the calendar module 285, or a combination thereof. Theactivation states of components 20 which are not predicted to be used inthe electronic device 10 or 100 may be set to a disabled, standby oridle activation state in order to conserve power. Components 20 whichare predicted to be used or which are predicted to provide data of useto the electronic device 100 and to the user may be set to a standby,idle or enabled activation state. The predicted device activity may bebased on detected breaks from the pattern of device activity.

Thus, if a component 20 is predicted to be used by the electronic device10 or 100, a predicted activation state and attribute settings aregenerated and the activation state of the component 20 is set to thepredicted activation state and attribute settings prior to the predictedactivity. The power required by the component 20 for the activationstate varies depending on the component 20. If the component ispredicted not to be in use, it is set to any of the activation statesapplicable for the component 20, such as an activation state thatrequires a lower level of power or an activation state that requires alower level of power in light of the next predicted activity for thecomponent 20. For example, a component 20 may be put in a standbyactivation state rather than a fully disabled activation state if thepattern of device activity shows the component 20 will be used within aperiod of time such that cycling through activation states, which mayrequire additional power, is avoided.

FIG. 4 illustrates an example implementation of a method 400 forgenerating predicted activation states of components 20 in theelectronic device 10 or 100. At action 405, set of device activityinformation 22 or 234 is maintained in a memory 18 or 233 to storerecords of component data from one or more components 20 in theelectronic device 10 or 100, the component data providing data aboutdevice activity at associated times. At action 410 a current time isdetermined. At action 415 current component data is collected andassociated with the current time. At action 420, device activity ispredicted based on the current component data and one or more records inthe set of device activity information. At action 425, in response tothe predicted device activity, a predicted activation state of at leastone component 20 in the electronic device 10 or 100 is generated. Themethod 400 is described in further detail below.

Initially, at action 405, a set of device activity information 22 or 234is maintained. Patterns of device activity vary according to one or moreroutines of a user of the electronic device 10 or 100, including aweekly work routine or a weekly vacation routine. Thus, one or more setsof device activity information 22 or 234 are maintained to establish oneor more patterns of device activity based on routines of the user of thedevice. The set of device activity information 22 or 234 may begenerated by the device activity module 14 or 290 or by the processor200 and may be stored in persistent memory, such as flash memory 233 inthe electronic device 100.

A sample set of device activity information 22 or 234 is illustrated inFIG. 5. In one embodiment, the set of device activity information 234 isorganized as a table as illustrated in FIG. 5. The set of deviceactivity information 22 or 234 includes data learned about past deviceactivity in the form of records 501 ₁ to 501 _(n) of component data fromone or more components 20 in the electronic device 10 or 100. The deviceactivity information records 501 may include a time 510 associated andstored with the component data. In one implementation, the deviceactivity information records include a time of day and day of the weekalong with the component data. The associated times may be recorded inseconds, minutes or hours, or a combination of thereof, or may include arange of times. In one implementation, the set of device activityinformation 234 includes data regarding scheduled events such as, butnot limited to, event data obtained from the calendar module 285, theevent scheduler 286 or the event records 235, of a scheduled time and ascheduled location of a future appointment, meeting, conference call ortask. In one implementation, one or more records 501 in the set ofdevice activity information 22 or 234 is identified by the deviceactivity module 14 or 290 with a user activity state 520 which providesa user mode or metadata in the electronic device 10 or 100 to indicate astate of predicted activity. In one implementation, the set of deviceactivity information 234 also contains predicted activation states forthe components 20 which have been generated as described below.

Exemplary component data includes the activation state of the component20, an operational status of the component 20, one or more entries ofdata generated or provided by the component 20, one or more attributesettings for the component 20 or a combination of activation states,operational status, data, and attribute settings. Component dataprovides data about the environment, location or activity, or acombination thereof, of the electronic device 10 or 100. Component datamay include, for example, a measurement of ambient temperature from thetemperature sensor, a measurement of the level of ambient light from theambient light sensor 140, a GPS location from the GPS subsystem 266, acell network area or a received signal strength indicator (RSSI) fromthe cellular communications subsystem 250, a compass heading from amagnetometer, a change in activation state from disabled to enabled of aIP communications subsystem 260, or an acceleration of the electronicdevice 100 measured by the accelerometer.

Component data is gathered by the device activity module 14 or 290 byperiodic sampling of components 20 in the electronic device 10 or 100,by registering changes in activation states or by registering changes inoperational status. Changes in activation states or changes inoperational status may be communicated to the device activity module 14or 290 by components 20 or by the controller 12 in electronic device 10,or the processor 200 in electronic device 100. In one implementation,component data is sampled at a high rate initially and the sampling rateis decreased as a pattern of device activity is established in the setof device activity information 22 or 234. A time associated with thesampled component data, the change in activation state or theoperational status may be stored in the device activity record.

The device activity module 290 and the set of device activityinformation 234 may be configured by a user of the electronic device 100through a GUI provided by the device activity module 290 and userinterface module 283. The set of device activity information 22 or 234is maintained over a predetermined time period, such as a one weekperiod, which may be set by a user of the electronic device 10 or 100.The predetermined time period may be set by a user to cover a day, atypical 7-day week, or to cover a user's specific shift schedule, suchas a 10-day or 14-day shift rotation.

One or more sets of device activity information 22 or 234 may bemaintained by the device activity module 14 or 290 for the samepredetermined time period or for different predetermined time periods.For example, a first set of device activity information 22 or 234 ismaintained and used by the device activity module 14 or 290 asconfigured by a user for the user's typical 7-day week while working. Asecond set of device activity information 22 or 234 is maintained andused by the device activity module 14 or 290 as configured by a user fora 10-day vacation period. In one implementation, the applicable set ofdevice activity information 22 or 234 is selected by the user.Alternatively, one or more sets of device activity information 22 or 234are maintained by the device activity module 14 or 290 and theapplicable set of device activity information 22 or 234 is determined bythe device activity module 14 or 290.

At action 410, a current time is determined. The current time may bedetermined from a variety of sources such as the clock module 287; thecellular communications subsystem 250; the GPS subsystem 266; or otherdevice subsystems 240 in the electronic device 100 or from the clock 16in the electronic device 10.

At action 415, current component data is collected from one or morecomponents 20 in the electronic device 10 or 100. Current component datamay be gathered by the device activity module 14 or 290 by sampling ofcomponents 20 on the electronic device 10 or 100 or by collectingchanges in activation states or changes in operational status which maybe communicated to the device activity module 14 or 290 by components20, the controller 12, the processor 200 or by a combination ofcomponents 20, and the controller 12 or processor 200. The collecting ofcurrent component data may be performed on a periodic basis, prompted bya change in the activation state of a component 20, or prompted by achange in the operational status of a component 20 in the electronicdevice 10 or 100.

Current component data includes the current activation state of one ormore components 20, the operational status of the component 20 or one ormore entries of current data about the environment, location or activitygenerated or provided by the component, one or more attribute settingsfor the component 20, or a combination thereof, of the electronic device10 or 100. Current component data may include, for example, ameasurement of the current ambient temperature from the temperaturesensor, a measurement of the current level of ambient light from theambient light sensor 140, a current GPS location from the GPS subsystem266, a current cell network area or a current received signal strengthindicator (RSSI) from the cellular communications subsystem 250, acurrent compass heading from a magnetometer or a current acceleration ofthe electronic device 100 measured by the accelerometer.

At action 420, device activity is predicted by the device activitymodule 14 or 290 based on the current time, current component data andthe component data maintained in the set of device activity information,such as the set of device activity information 22 or 234 described withreference to FIG. 5. Device activity is predicted for an anticipateddecision point or time at which the predicted activation state,attribute setting or combination of activation state and attributesettings for the component 20 are determined to apply. Predicting ofdevice activity at 420 includes an identification of one or morecomponents 20 which are likely to be used by other components 20 in theelectronic device 10 or 100, including modules 280 or subsystems in theelectronic device 100, or by a user of the electronic device 10 or 100and which may be set to a predicted activation state of standby orenabled at a predetermined time prior to the anticipated decision point.Predicting of device activity also may include an identification of oneor more components 20 which are likely to be unused and can be set to apredicted activation state such as disabled, standby or a lower powerstate.

In predicting device activity, the component data in the device activityinformation record for a time corresponding to the current time is used.Alternatively, or in addition to records for the current time, a numberof records in the set of device activity information 22 or 234 for timesbefore, or after, or both before and after the current time are analyzedto identify a sequence or pattern of device activity. In oneimplementation, component data such as a change in the activation stateof a lower-power component 20 is used to predict a change in theactivation state of a higher-power component 20. In anotherimplementation, device activity is predicted based on a match betweenthe current time, current component data and the component datamaintained in the set of device activity information 22 or 234. Deviceactivity also may be predicted based on the detection of a break fromthe established pattern of device activity maintained in the set ofdevice activity information 22 or 234. In another implementation, deviceactivity is predicted based on the current time, current component dataand the device activity information records including data regardingscheduled events. Data regarding scheduled events may be obtained fromthe calendar module 285, the event scheduler 286 or the event records235, or from a combination thereof.

At action 425, based on the predicted device activity a predictedactivation state of one or more components 20 is generated. Generatingthe predicted activation state consists of determining an appropriateactivation state for one or more components as one of an enabled,disabled, idle or standby activation state. Generating the predictedactivation state may not necessarily indicate a change in activationstate if the current activation state of the component 20 is the same asthe predicted activation state.

The method 400 may further comprise the action of setting of theactivation state of the component 20 to the predicted activation stateat a predetermined time prior to the anticipated decision point. Theactivation state of the component 20 is set at the predetermined timeprior to the anticipated decision point to account for latency between,for example, setting of the activation state to enabled and thecomponent 20 being enabled as indicated by the operational status.Setting of the activation state may not result in a change of theactivation state of the component. For example, if the component 20 iscurrently enabled and in use by another component 20, such as a module280 or subsystem in the electronic device 100, it may not be desirableto set the component 20 to a predicted activation state of disabled.Priorities for setting the activation states of one or more components20 may be assigned to components 20, including priorities for the deviceactivity module 14 or 290, or for subsystems and software modules 280 inthe electronic device 100. Thus, predicted activation states from thedevice activity module 14 or 290 are not implemented if the request fromthe device activity module 14 or 290 has a lower priority than requestsfrom other components 20.

The action 420 of predicting device activity also may be based on arecord of past success of predicted device activity and predictedactivation states generated for the component 20. The success ofpredicted device activity and predicted activation states may bedetermined by the device activity module 14 or controller 12. Successmay be determined based on a match between a predicted activation stateand the operational status, the activation state or a combination of theoperational status and activation state of the component 20 at theanticipated decision point. For example, success may be determined wherea component 20 was predicted to be in use and in an enabled activationstate at the anticipated decision point and the actual activation stateand the operational status are enabled at the decision point. Successmay be determined not to occur if, for example, a predicted activationstate is an enabled state for the anticipated decision point but theactual activation state is disabled at the anticipated decision point.Such lack of success may be due to incorrectly predicting deviceactivity or where a higher priority component has set the activationstate of the component 20 to a disabled state.

Where the method 400 includes setting the activation state of thecomponent 20 according to the predicted activation state, the record ofpast success also depends on the predetermined time at which anactivation state of the component 20 is set. Success may be determinednot to occur if, for example, a predicted activation state is an enabledstate for the anticipated decision point but the operational status ofcomponent 20 is not fully enabled at the anticipated decision point.Such lack of success may be due to setting the activation state of thecomponent 20 to the predicted activation state at the predetermined timeclose to the anticipated decision point such that changes in theoperational status of the component 20 are not complete in time for useof the component 20 by the electronic device 10 or 100. This case mayoccur for components 20 with a longer latency for changes in activationstates to occur, such as satellite based components including the GPSsubsystem 266. Where the predicted device activity is based on a recordof past success of predicted device activity and predicted activationstates, and the record indicates a lack of success due to an incorrecttiming and setting of the activation state of the component 20 at thepredetermined time prior to the anticipated decision point, setting ofthe activation state may be performed at an earlier time prior to thedecision point in order to increase the probability of success. Lack ofsuccess also may be determined where an activation state is set to apredicted activation state at a time much earlier than the anticipateddecision point such that a component 20 is, for example, enabled andrequiring power for a longer duration and when not in use by theelectronic device 10 or 100.

In one implementation, one or both of the actions of generating apredicted activation state 425 or setting the activation state of thecomponent also is based on the set of device activity information 234and component data including the operational status of the component 20.For example, the predicted device activity may indicate that the GPSsubsystem 266 should be set to an enabled activation state to provideGPS data about the location of the electronic device 100. Based on theset of device activity information 234 providing a_pattern of componentdata including a current network location from by the IP communicationssubsystem 260 and operational status of the GPS subsystem 266 beingdisabled, the predicted activation state for the GPS subsystem 266 maybe generated as a disabled state since the set of device activityinformation 234 indicates that the GPS subsystem 266 has not beenoperational in the current network location. Alternatively, setting ofthe activation state of the GPS subsystem 266 to a predicted activationstate of enabled may not be implemented based on the set of deviceactivity information 234 providing a pattern of component data includinga current network location from by the IP communications subsystem 260and operational status of the GPS subsystem 266 being disabled. In oneimplementation, generating the predicted activation state 425 or settingthe activation state of the GPS subsystem 266 to an enabled activationstate is delayed until a condition is met, such as component data fromthe IP communications subsystem 260 indicating that the electronicdevice 100 is in a new network location such that setting of the GPSsubsystem 266 to an enabled activation state will succeed or is morelikely to succeed. Power consumption in the electronic device 10 or 100is managed by reducing attempts to change a component 20 to an enabledactivation state when the set of device activity information 234indicates that attempts to change the component 20 to an enabledactivation state have failed in the past for the pattern of deviceactivity and component data, such as a network location.

In one implementation, device activity is predicted at action 420 basedon a match between the current time, current component data and thecomponent data maintained in the set of device activity information 234.For example, the set of device activity information 234 may indicate apattern of component data including the location of the device equallingthe user's home, and a change by a user of the activation state of an IPcommunications subsystem 260 from disabled to enabled at a specific timeperiod each day, such as between the hours of 5:00 and 6:00 PM. Based ona current time being between the hours of 5:00 and 6:00 PM, and currentcomponent data indicating the current location of the electronic device100 is at the user's home, the predicted device activity includes theuse of the IP communications subsystem 260 and the predicted activationstate of the IP communications subsystem 260 is determined to beenabled. The device activity module 290 may set the IP communicationssubsystem 260 to an enabled activation state at action 425 based on thepattern in the set of device activity information 234.

In one implementation, device activity is predicted at action 420 basedon the detection of a break in routine from the established pattern ofdevice activity maintained in the set of device activity information234. For example, the set of device activity information 234 mayindicate a pattern of component data including the electronic device 100being in motion or moving at a certain rate, and the location of theelectronic device 100 being in a specific cell area sampled from thecellular communications subsystem 250 at a specific time each day suchas 7:30 AM. Based on a current time being 7:30 AM, current componentdata indicating that the electronic device 100 is in motion or moving ata rate above a specified threshold, and the current location of theelectronic device 100 being in a current cell area different from thecell area location in the device activity information record, deviceactivity is predicted to benefit from the use of the GPS communicationssubsystem 266 for location and navigation functions. The activationstate of the GPS communications subsystem 266 is predicted to be enabledactivation state at action 425 by the device activity module 290. TheGPS communications subsystem 266 may be set to the enabled activationstate to support functions on the electronic device 100, such as the mapmodule 289, which may be used when the electronic device 100 is in anunknown or different location.

In one implementation, the set of device activity information 234includes data regarding scheduled events, such as event data obtainedfrom the calendar module 285, the event scheduler 286 or the eventrecords 235, of a scheduled time and a scheduled location of anappointment, meeting, conference call or task. Device activity ispredicted at action 420 based on the current time, current componentdata and the device activity information records, including dataregarding scheduled events. The component data in the device activityinformation record for a time corresponding to the current time may beused. Alternatively, or in addition, a number of records in the set ofdevice activity information 234 for times before, or after, or bothbefore and after the current time are analyzed to identify a scheduledevent. For example, the set of device activity information 234 mayindicate a meeting is scheduled in the electronic device 100 for ascheduled time in the future, such as 10:00 AM, and at a scheduledlocation, such as the 20^(th) floor of a building at location “X”. Basedon a current time being 9:55 AM, current component data indicating thatthe electronic device 100 is in motion or moving at a rate above aspecified threshold and the current location of the electronic device100 being near building location X (based on current sensor dataobtained from the GPS subsystem 266 or based on the detection of awireless IP network by the IP communications subsystem 260), deviceactivity is predicted to use the functions of the NFC communicationssubsystem 268 to obtain data regarding the building and meeting locationfrom a tag in a building floor plan or sign providing meeting data. TheNFC communications subsystem 268 is predicted to be in an enabledactivation state at action 425 by the device activity module 290. Theactivation state of the NFC communications subsystem 268 is set toenabled prior to the use of the NFC communications subsystem 268 in theelectronic device 100 to allow a user to obtain data regarding themeeting. Subsequently, based on a current time of 10:05, and currentcomponent data indicating the electronic device 100 is not in motion andis at the building location X, the device activity module 290 maypredict and set the NFC communications subsystem 268 to a disabledactivation state.

In one implementation, the device activity information records includedata regarding attribute settings for one or more components 20 and thepredicting of device activity includes predicting a setting of anattribute for a component 20. For example, a sampling rate attribute ofan accelerometer may be predicted based on a specific function beingperformed by the electronic device 100. An RF protocol type attribute,such as 14443 Type A, for the NFC subsystem 268 may be predicted basedon the location of the electronic device 100. As a further example, theNFC subsystem 268 may operate in a card emulation mode to enable use ofthe electronic device 100 with external payment systems. The cardemulation mode may include an account attribute which allows the use ofeither a first credit card account or a second credit card account toeffect a financial transaction. A user may prefer the use of the firstcredit card account in some situations, such as for payment at a gasstation, in order to collect points or rewards associated with the useof the first credit card account at gas stations.

In one implementation, device activity and component attribute settingsmay be predicted at action 420 based on a match between currentcomponent data and the component data maintained in the set of deviceactivity information 234. For example, the device activity informationrecord may include component data such as the location of the deviceequalling a gas station, a change in activation state by a user of theNFC subsystem 268 from disabled to enabled, and an attribute setting forthe NFC subsystem 268 equal to a first credit card account. Based oncurrent component data indicating that the device location is a gasstation, the predicted device activity may include the activation of theNFC subsystem 268. Thus, the NFC subsystem 268 may be set to an enabledactivation state by the device activity module 290. Further, based onthe current component data indicating that the device location is a gasstation, the predicted attribute of the NFC subsystem 268 may be set tofirst credit card account. Thus, user input to select an accountattribute is not required and latency to enable the NFC subsystem 268and set attributes of the NFC subsystem is less noticeable to a user.

As a further example, the set of device activity information 234 mayindicate that a meeting in the building at location X is scheduled toend at 11:00 AM. Based on a current time being 10:55 AM and currentcomponent 20 data indicating that the electronic device 100 is inmotion, as indicated by dynamic movements measured by the accelerometer,and that the electronic device 100 is at the first floor of the buildingat location X, as indicated by measurements from the altimeter, deviceactivity may be predicted to use the access control functions of the NFCcommunications subsystem 268 to exit through security at the building atlocation X. An attribute such as the operating mode of the NFCcommunication subsystem 268 may be predicted to be in a card-emulationmode to support the use of the electronic device 100 for vicinity cardaccess functions to exit the building security. The activation state ofthe NFC communications subsystem 268 is predicted by the device activitymodule 290 to be in a standby state in order to support thecard-emulation mode. The NFC communications subsystem 268 is set to astandby activation and in a card-emulation mode prior to its use toallow a user to exit the building. The activation state of the NFCcommunications subsystem 268 is disabled during the scheduled meeting toreduce power consumption by the NFC subsystem 268 and then set to astandby state on a just in time basis to ensure the NFC communicationssubsystem 268 is operable when predicted to be in use by the electronicdevice 100.

The method 400 may further comprise storing the predicted activationstates for one or more components 20 in the memory 18 of the electronicdevice 10 or in persistent memory, such as flash memory 233 of theelectronic device 100, The predicted activation states may be stored aspart of the set of device activity information 234 or as a separate setof predicted activity information (not shown). The set of predictedactivity information may be generated by the device activity module 14or 290 or by the processor 200. The set of predicted activityinformation includes records of predicted activation states for one ormore components 20 in the electronic device 10 or 100 generatedaccording to the present disclosure. The set of predicted activityinformation may include a time of day and day of week along with thepredicted activation states. In one implementation, the set of predictedactivity information includes predicted attribute settings for one ormore components 20.

In one implementation, the action 425 of generating the predictedactivation state is based on the predicted device activity and one ormore records of predicted activation states in the set of predictedactivity information for the current time, a time before or a time afterthe current time, or a combination of the current time and times beforeand after the current time. Generating the predicted activation statemay not indicate a change in activation state, such as a change from anenabled to a disabled state, if a subsequent predicted activation statein the predicted activity information record of the component 20 beingin an enabled state is within a predetermined time period. Forcomponents 20 which require considerable power or which incur delay toimplement a change in an activation state, such as the GPS subsystem 266or communications subsystems 210, power and latency may be managed bygenerating the predicted activation state as an enabled state to avoidcycling the component 20 through multiple changes in activation statesor through brief periods of being in a disabled activation state.

While the present disclosure is primarily described in terms of methods,a person of ordinary skill in the art will understand that the presentdisclosure is also directed to various apparatus such as a handheldelectronic device including components for performing at least some ofthe aspects and features of the described methods, be it by way ofhardware circuits, software or any combination of the two, or in anyother manner. Moreover, an article of manufacture for use with theapparatus, such as a pre-recorded storage device or other similarcomputer readable medium including program instructions recordedthereon, or a computer data signal carrying computer readable programinstructions may direct an apparatus to facilitate the practice of thedescribed methods. It is understood that such apparatus, articles ofmanufacture, and computer data signals also come within the scope of thepresent disclosure.

The term “computer readable medium” as used herein means any mediumwhich can store instructions for use by or execution by a computer orother computing device including, but not limited to, a portablecomputer diskette, a hard disk drive (HDD), a random access memory(RAM), a read-only memory (ROM), an erasable programmable-read-onlymemory (EPROM) or flash memory, an optical disc such as a Compact Disc(CD), Digital Versatile Disc (DVD) or Blu-ray™ Disc, and a solid statestorage device (e.g., NAND flash or synchronous dynamic RAM (SDRAM)).

The various implementations presented above are merely examples and arein no way meant to limit the scope of this disclosure. Variations of theinnovations described herein will be apparent to persons of ordinaryskill in the art, such variations being within the intended scope of thepresent application. In particular, features from one or more of theabove-described implementations may be selected to create alternativeimplementations comprised of a sub-combination of features which may notbe explicitly described above. In addition, features from one or more ofthe above-described implementations may be selected and combined tocreate alternative implementations comprised of a combination offeatures which may not be explicitly described above. Features suitablefor such combinations and sub-combinations would be readily apparent topersons skilled in the art upon review of the present application as awhole. The subject matter described herein and in the recited claimsintends to cover and embrace all suitable changes in technology.

1. A method of generating predicted activation states of components inan electronic device, comprising: maintaining a set of device activityinformation in a memory, the set of device activity informationincluding records of component data from one or more components in theelectronic device at associated times; determining a current time;collecting current component data from the one or more components, thecurrent component data being associated with the current time;predicting device activity based on the current component data and thedevice activity information record; and in response to the predicteddevice activity, generating a predicted activation state of at least onecomponent in the electronic device.
 2. The method of claim 1 furthercomprising setting an activation state of the at least one component tothe predicted activation state.
 3. The method of claim 1 furthercomprising generating a predicted attribute setting for an attribute ofthe at least one component and setting the attribute of the at least onecomponent to the predicted attribute setting.
 4. The method of claim 1wherein the component data and current component data include changes instate of the one or more components.
 5. The method of claim 1 whereinthe component data includes a device location and the current componentdata includes a current device location.
 6. The method of claim 5wherein both the device location and the current device locationcomprise a global positioning system (GPS) location or a cellularcommunications network cell area.
 7. The method of claim 5 whereinpredicting device activity comprises detecting a change between thecurrent device location and the device location in the device activityinformation record.
 8. The method of claim 7 wherein generating thepredicted activation state of at least one component comprisesgenerating the predicted activation state of a GPS subsystem as one ofan enabled, idle, standby and disabled activation state.
 9. The methodof claim 1 wherein the set of device activity information is maintainedover a predetermined time period.
 10. The method of claim 9 wherein thepredetermined time period is a week, the associated times include daysof the week and times of day, and the current time includes a currentday of the week and a current time of day.
 11. The method of claim 9wherein a first set of device activity information is maintained for afirst predetermined time period and a second set of device activityinformation is maintained for a second predetermined time period. 12.The method of claim 1 wherein the set of device activity informationincludes a scheduled time and a scheduled location of one or moreevents.
 13. The method of claim 12 wherein the scheduled time and thescheduled location of the one or more events are obtained from acalendar module in the electronic device.
 14. The method of claim 1wherein the one or more components comprises one of more of an ambientlight sensor, a temperature sensor, a tilt sensor, an accelerometer, analtimeter, a capacitive touch sensor, a global positioning system (GPS)subsystem, a pedometer, a force sensor, a magnetometer, a gyroscope, acellular communications subsystem, an internet protocol (IP)communications subsystem, a touchscreen display and a near fieldcommunications (NFC) subsystem.
 15. The method of claim 1 whereinmaintaining the set of device activity information further comprisescollecting component data from the one or more components on a periodicbasis.
 16. The method of claim 1 wherein maintaining the set of deviceactivity information includes storing the set of device activityinformation in a memory of the electronic device.
 17. The method ofclaim 1 wherein the set of device activity information comprises atable.
 18. The method of claim 1 wherein the predicted activation statecomprises one of an enabled, idle, stand-by and disabled activationstate.
 19. An electronic device comprising: a controller for controllingoperation of the electronic device; a clock; a memory connected to thecontroller, for storing a set of device activity information, the set ofdevice activity information including records of component data from oneor more components in an electronic device at associated times; and thecontroller being configured to: maintain the set of device activityinformation; determine a current time from the clock; collect currentcomponent data from the one or more components, the current componentdata being associated with the current time; predict device activitybased on the current component data and the device activity informationrecords; and in response to the predicted device activity, generate apredicted activation state of at least one component in the electronicdevice.
 20. The electronic device of claim 19 wherein the one or morecomponents comprises one of more of an ambient light sensor, atemperature sensor, a tilt sensor, an accelerometer, an altimeter, acapacitive touch sensor, a global positioning system (GPS) subsystem, apedometer, a force sensor, a magnetometer, a gyroscope, a cellularcommunications subsystem, an Internet protocol (IP) communicationssubsystem, a touchscreen display and a near field communications (NFC)subsystem.
 21. The electronic device of claim 19 wherein the electronicdevice is a mobile device.
 22. The electronic device of claim 19 whereinthe set of device activity information comprises a table.
 23. Acomputer-readable storage medium in an electronic device having one ormore components, the medium having stored thereon computer-readable andcomputer-executable instructions, which, when executed by a controller,cause the electronic device to perform actions comprising: maintaining aset of device activity information in a memory of the device, the set ofdevice activity information including records of component data from oneor more components in an electronic device at associated times;determining a current time; collecting current component data from theone or more components, the current component data being associated withthe current time; predicting device activity based on the currentcomponent data and the device activity information record; and inresponse to the predicted device activity, generating a predictedactivation state of at least one component in the electronic device.